#pragma once

#include "Render/Shader/GlobalShader.h"

class LocalVertexShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(LocalVertexShader)

	DECLARE_SHADER_END()
};

class LocalFragmentShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(LocalFragmentShader)

	DECLARE_SHADER_END()
};

class PbrVertexShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(PbrVertexShader)

	DECLARE_SHADER_END()
};

class PbrFragmentShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(PbrFragmentShader)

	PUSH_CONSTANT_OFFSET(sizeof(glm::vec3));

	DECLARE_SHADER_END()
};

class PbrRealVertexShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(PbrRealVertexShader)

	DECLARE_SHADER_END()
};

class PbrRealFragmentShader : public RHIShader
{
	DECLARE_SHADER_BEGIN(PbrRealFragmentShader)

	PUSH_CONSTANT_OFFSET(sizeof(glm::vec3));

	DECLARE_SHADER_END()
};


